#ifndef _AWUI_WINDOWS_EMULATORS_DEBUGGERSMS_H
#define _AWUI_WINDOWS_EMULATORS_DEBUGGERSMS_H

#include <awui/Windows/Forms/Button.h>

using namespace awui::Windows::Forms;

namespace awui {
	namespace Drawing {
		class Image;
	}

	namespace Windows {
		namespace Emulators {
			class MasterSystem;

			class DebuggerSMS : public Button {
				private:
					MasterSystem * _rom;
					Drawing::Image * _tiles;
					Drawing::Image * _colors;
					bool _show;
					float _width;

				public:
					DebuggerSMS();
					virtual ~DebuggerSMS();

					virtual int IsClass(Classes::Enum objectClass) const;

					virtual void OnTick();

					virtual void OnPaint(OpenGL::GL * gl);

					void SetRom(MasterSystem * rom);
					bool GetShow() { return _show; }
					void SetShow(bool show) { _show = show; }
					uint32_t GetCRC32();
			};
		}
	}
}

#endif
